/**
  ******************************************************************************
  * @file     SD93F115B_systick.c
  * @author   TEST TEAM 													    	
  * @version  v0															    	
  * @date     Septemper 2022												    	
  * @brief   
  *           
  * Copyright (C) 2022  Hangzhou SDIC Microelectronics Co., Ltd
******************************************************************************/

#include "SD93F115B_systick.h"

/*-----------------------------------------
 * 函数功能：设置重载值
 * 入口参数：32位重载值 Reload
 * 出口参数：None
 * 返回值  ：None
 * 编写日期：
 * 作者    ：
 *-----------------------------------------*/ 
void SysTick_SetAutoReload(uint32_t Reload)
{
	/* Check the parameters */
	assert_param(IS_SysTick_RELOAD(ReLoad));	
	SysTick->RVR = Reload;
}

/*-----------------------------
 * 函数功能：系统计数器使能
 * 入口参数：NewState: ENABLE或者DISABLE
 * 出口参数：None
 * 返回值  ：None
 * 编写日期：
 * 作者    ：
 *------------------------------*/ 
void SysTick_Cmd(FunctionalState NewState)
{
	/* Check the parameters */
	assert_param(IS_FUNCTIONAL_STATE(NewState));
	
	SysTick->CVR=0x88;
	
	if(NewState==ENABLE)
	{
		SysTick->CSR |=	SysTick_CSR_ENABLE;		
	}
	else
	{
		SysTick->CSR &=	~SysTick_CSR_ENABLE;		
	}
	
}

/*----------------------------------
 * 函数功能：读当前值计数值
 * 入口参数：None
 * 出口参数：None
 * 返回值  ：当前值计数值
 * 编写日期：
 * 作者    ：
 *----------------------------------*/ 
uint32_t SysTick_GetCounter(void)
{	
	return (SysTick->CVR);
}

/*--------------------------------------------
 * 函数功能：获取10ms系统计数器所对应的重载值 
 * 入口参数：None
 * 出口参数：None
 * 返回值  ：10ms系统计数器所对应的重载值 
 * 编写日期：
 * 作者    ：
 *--------------------------------------------*/ 
uint32_t SysTick_Get10msReload(void)
{   
	uint32_t tmpreg=0;
	
	tmpreg=SysTick->CALIBR&0x00FFFFFF;
	
	return (tmpreg);
}

/*-----------------------------
 * 函数功能：系统计数器使能
 * 入口参数：NewState: ENABLE或者DISABLE
 * 出口参数：None
 * 返回值  ：None
 * 编写日期：
 * 作者    ：
 *------------------------------*/ 
void SysTick_ITCmd(FunctionalState NewState)          //使能系统计数器中断
{
	/* Check the parameters */
	assert_param(IS_FUNCTIONAL_STATE(NewState));
	
	if(NewState==ENABLE)
	{
		SysTick->CSR |=	SysTick_CSR_TICKIE;		
	}
	else
	{
		SysTick->CSR &=	~SysTick_CSR_TICKIE;		
	}
	
}

/*-----------------------------------------------
 * 函数功能：读系统计数器中断标志位,并清零标志位
 * 入口参数：None
 * 出口参数：None
 * 返回值  ：系统计数器中断标志位 bitstatus
 * 编写日期：
 * 作者    ：
 *-----------------------------------------------*/  
ITStatus SysTick_GetITStatus(void)
{
	ITStatus bitstatus = RESET;
	if((SysTick->CSR & SysTick_CSR_COUNTFLAG)!= RESET)
	{
		bitstatus = SET;
	}
	else
	{
		bitstatus = RESET;
	}
	return bitstatus;		
	
}



/****************************END OF FILE****************************/









